home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / m68k / tutor.arc / BM.SA < prev    next >
Text File  |  1990-01-05  |  2KB  |  53 lines

  1. BM       IDNT      1,0       BM (Block Move) Command                 11/27/81
  2.          XDEF      BMCMD
  3.  SPC 1
  4.          XREF      FNEXTF
  5.          XREF      GETA
  6.          XREF      MACSBUG
  7.          XREF      P2PHY
  8.          XREF      PPHY
  9.          XREF      SYNTAX
  10.  SPC 2
  11.          SECTION   11
  12.  
  13. *
  14. *  BLOCK MOVE
  15. *
  16. BMCMD    LEA       SYNTAX(PC),A0
  17.          BSR       FNEXTF
  18.          BSR       GETA
  19.          MOVE.L    D0,A3     A3 = FROM BEGIN ADDRESS
  20.  SPC 1
  21.          BSR       FNEXTF
  22.          BSR       GETA
  23.          MOVE.L    D0,A1     A1 = FROM END ADDRESS
  24.  SPC 1
  25.          BSR       FNEXTF
  26.          BSR       GETA
  27.          MOVE.L    D0,A2     A2 = TO BEGIN ADDRESS
  28.  SPC 1
  29.          MOVE.L    A3,A0
  30.          BSR       P2PHY     PRINT ADDRESSES (A0) & (A1)
  31.          MOVE.L    A2,D0
  32.          BSR       PPHY      PRINT TO ADDRESS
  33.  SPC 1
  34.          MOVE.L    A1,D1
  35.          SUB.L     A3,D1     D1 =  SIZE - 1
  36.          BCS       SYNTAX    END LESS THAN BEGIN
  37.          ADD.L     #1,D1     D1 = COUNT (SIZE)
  38.  SPC 1
  39.          CMP.L     A3,A2
  40.          BCC.S     BM122     MOVING LOW TO HIGH
  41.  SPC 1
  42. BM112    MOVE.B    (A3)+,(A2)+   MOVING HIGH TO LOW
  43.          SUB.L     #1,D1     COUNT
  44.          BNE       BM112
  45.          BRA.S     BM142
  46.  SPC 1
  47. BM122    ADD.L     D1,A3     MOVING LOW TO HIGH
  48.          ADD.L     D1,A2
  49. BM132    MOVE.B    -(A3),-(A2)
  50.          SUB.L     #1,D1
  51.          BNE       BM132
  52. BM142    BRA       MACSBUG
  53.  END